Cuts and Side-Effects in And-Or Parallel Prolog
نویسندگان
چکیده
y > Practical Prolog programs usually contain extra-logical features like cuts, side-eeects, and database manipulating predicates. In order to exploit implicit parallelism from real applications while preserving sequential Prolog semantics, a parallel logic programming system should necessarily support these features. In this paper we show how Prolog's extra-logical features can be supported in an and-or parallel logic programming system. We show that to support extra-logical features an and-or parallel logic programming system should recompute the solutions to independent goals instead of sharing them. We describe an abstraction called the Composition Tree for representing and-or parallel execution with recomputation. We introduce the notion of \local-leftmostness" in the Composition Tree and use it for deriving complete and eecient methods for supporting extra-logical predicates in and-or parallel logic programming systems based on the Composition Tree abstraction. <
منابع مشابه
Optimal Implementation of And-Or Parallel Prology
Most models that have been proposed, or implemented, so far for exploiting both or-parallelism and independent and-parallelism have only considered pure logic programs (pure Prolog). We present an abstract model, called the Composition-Tree, for representing and-or parallelism in full Prolog. The Composition-Tree recomputes independent goals to ensure that Prolog semantics is preserved. We comb...
متن کاملCuts and Side-eeects in And-or Parallel Prolog
Practical Prolog programs usually contain extra-logical features like cuts, side-eeects, and database manipulating predicates. In order to exploit implicit parallelism from real applications while preserving sequential Prolog semantics, a parallel logic programming system should necessarily support these features. In this paper we show how Prolog's extra-logical features can be supported in an ...
متن کاملA Systematic Approach to Exploiting Implicit Parallelism in Full Prolog
Prolog is a practical declarative programming language based on Horn Logic. In this paper we argue that implicit parallelism can be extracted from full Prolog. By full Prolog we mean pure Prolog with extra-logical features such as side-eeects, database predicates and cuts. Prolog programs have three main forms of implicit parallelism present in them: or-parallelism, independent and-parallelism ...
متن کاملComplete and Efficient Methods for Supporting Side-effects in Independent/Restricted AND-Parallelism
It has been shown that it is possible to exploit Independent/Restricted And-parallelism in logic programs while retaining the conventional “don’t know” semantics of such programs. In particular, it is possible to parallelize pure Prolog programs while maintaining the semantics of the language. However, when builtin side-effects (such as write or assert) appear in the program, if an identical ob...
متن کاملSelective Recomputation for Handling Side-Effects in Parallel Logic Programs
In contrast to merely AND-and merely OR-parallel execution models/systems, the side-eeect problem in AND/OR parallel execution of Prolog programs is intricate and need to be carefully investigated. To decrease the non-trivial recomputation occurred in previous approach, this paper presents a Selective Recomputation(SR) approach for handling side-eeects in the OR-forest model which can exploit b...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- J. Log. Program.
دوره 27 شماره
صفحات -
تاریخ انتشار 1996